//
//  KCellModelConfig.h
//  MengLiao
//
//  Created by xiuxin on 2022/7/15.
//  Copyright © 2022 ZHBen. All rights reserved.
//
#import <Foundation/Foundation.h>
#import "NSObject+KTableModel.h"

@interface KCellModelConfig : NSObject <NSCopying>

/**
 *  数据的class类型，为nil则表示通过数据实例对象的kCellIdentifier属性来匹配
 */
@property (strong,nonatomic) Class modelClass;

@property (copy,nonatomic) KCellConfigBlock configBlock;

@property (copy,nonatomic) KCellSelectBlock selectBlock;

@property (copy,nonatomic) KCellDeleteConfirmBlock deleteConfirmBlock;

@property (strong,nonatomic) NSArray<UITableViewRowAction *> * actionList;

/**
 *  默认是 UITableViewAutomaticDimension
 */
@property (nonatomic) CGFloat rowHeight;
/**
 *  默认是 NO
 */
@property (nonatomic) BOOL canDelete;
/**
 *  默认是 NO
 */
@property (nonatomic) BOOL canMove;

@property (nonatomic) CGFloat estimatedRowHeight;

+ (KCellModelConfig *)configWithModelClass:(Class)modelClass configBlock:(KCellConfigBlock)configBlock selectBlock:(KCellSelectBlock)selectBlock rowHeight:(CGFloat)rowHeight;

@end
